<?php 
/**
 * 商品模型
 */
class GoodsModel extends Model{
    public $table = 'goods';
    
    public $auto = array(
		array('addtime','time','function',2,1),
		//判断是不是顶级分类
		array('category_cid','_category_cid','method',2,3)
	);
    
    public $validate = array(
		array('category_cid','nonull','分类不能为空',2,3),
		array('brand_bid','nonull','品牌不能为空',2,3),
		array('gname','nonull','商品名不能为空',2,3),
		array('unit','nonull','单位不能为空',2,3),
		array('marketprice','nonull','市场价不能为空',2,3),
		array('marketprice','num:1,65535','市场价必须为数字',2,3),
		array('shopprice','nonull','商品价不能为空',2,3),
		array('shopprice','num:1,65535','商品价必须为数字',2,3),
		array('click','num:1,65535','商品价必须为数字',1,3),
	);
    
	/**
	 * 检测是否是顶级分类---->顶级分类没有类型
	 */
	public function _category_cid($value){
	    $cateInfo = K('Cate')->where("cid={$value}")->find();
		if($cateInfo['pid'] == 0){
			$this->error = "商品分类不能是顶级分类";
		}
		return $value;
	}
	
	
	public function addData(){
	    //操作goods表的验证******************
		//create方法触发自动完成和自动验证
		if(!$this->create()) return FALSE;
		//如果上传方法（_thumb）有错误会压入$this->error中
		//所以判断如果$this->error有错误的时候，那就证明上传有问题了
		if($this->error) return FALSE;
		
		
		$Dmodel = K('Detail');
		if(!$Dmodel->create()){
			$this->error = $Dmodel->error;
			return FALSE;
		}
		//**********如果全部成立***************
		
		//获得类型type_tid
		$cid = $_POST['category_cid'];
		$cate = K('Cate')->where("cid={$cid}")->find();
		$this->data['type_tid'] = $cate['type_tid'];
		//获得后台用户aid
		$aid = $_SESSION['aid'];
		//添加商品的时候后台用户+1
//		K('User')->where("uid={$aid}")->update();
		$this->data['user_uid'] = $aid;
		
		//添加第一张表 goods
		$gid = $this->add();
		//执行数据库添加并返回一个自增id给$gid
		
		//添加第二张表 goods_attr
		$model = K('Goods_Attr');
		$model->addData($gid);
		
		//添加第三张表 detail
		$Dmodel->addData($gid);	
		//把返回的自增id给返出去
		return $gid;
	}
	
	/**
	 * 商品编辑
	 */
	public function editDate($gid){
	     //create方法触发自动完成和自动验证
		if(!$this->create()) return FALSE;
		//如果上传方法（_thumb）有错误会压入$this->error中
		//所以判断如果$this->error有错误的时候，那就证明有错误
		if($this->error) return FALSE;
		
		//验证商品详细表
		$Dmodel = K('Detail');
		if(!$Dmodel->create()){
			$this->error = $Dmodel->error;
			return FALSE;
		}
		
		//第一张表的修改
		$this->where("gid={$gid}")->update();
		
		//修改第二张表 goods_attr
		$model = K('Goods_Attr');
		$model->editData($gid);
		
		//修改第三张表 
		$Dmodel->editData($gid);
		return true;
	}
	
	
	
	
	
	
	
	
	
	
	
 }
 
 
 
 
 
 
 
 
 
 
 






 ?>